JIT Compiler
二段階のJIT
ベースラインJIT
nullチェックなど
冗長なコードを出力
ある程度の型情報があつまるとコンパイル
何が二段階?
bail
コンパイル結果を捨てる
型情報を推定後、違う型として使われた時など
捨てないと、その処理は使えない
ってことはTypeScriptを使うと、bailされる回数も減るのか #?? stefan-marr.de/2023/09/pliss-summer-school/ ここに載っているスライドすげー。特に後の奴。かなり最新のJITコンパイラの技術が解説されている。前の奴もインタープリタの最適化(JITつかわずに)という余り解説されていない話があって興味深い